/*
 Problem Description
HOHO，终于从Speakless手上赢走了所有的糖果，是Gardon吃糖果时有个特殊的癖好，就是不喜欢将一样的糖果放在一起吃，喜欢先吃一种，下一次吃另一种，这样；可是Gardon不知道是否存在一种吃糖果的顺序使得他能把所有糖果都吃完？请你写个程序帮忙计算一下。
Input
第一行有一个整数T，接下来T组数据，每组数据占2行，第一行是一个整数N（0<N<=1000000)，第二行是N个数，
表示N种糖果的数目Mi(0<Mi<=1000000)。
Output
对于每组数据，输出一行，包含一个"Yes"或者"No"。
Sample Input
2
3
4 1 1
5
5 4 3 2 1
Sample Output
No
Yes
------------------------------------------------------------------
假设有四种糖果，6A3B2C1D，首先想到的是先把最多的糖果都分隔开，A?A?A?A?A?A，
3个B和2个C恰好能放满那五个空位，剩下的1个D就随便放了。其实，"?"区域，即最大数目的糖果之间的空隙(max-1),
只要有其他糖果填上，剩下的多余糖果都一定可以放好位置（即使每个空隙只放一个同种类的糖果，总有足够的空隙放糖果），
因为A与A已经把它们分隔了。因此，问题本质就是排除最多数目的糖果（若这样的糖果不止一种，只排除其中任意一种），
其余的糖果的总数sum加1不少于最多的糖果数就Yes。
 */
package com.yuan.algorithms.practice201504;

import java.util.Scanner;

public class 吃糖果 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()) {
			int t = sc.nextInt();
			for (int i = 0; i < t; i++) {
				int n = sc.nextInt();
				long max = 0,sum = 0;
				for (int j = 0; j < n; j++) {
					int temp = sc.nextInt();
					sum += temp;
					if (temp>max) {
						max = temp;
					}
				}
				sum -= max;
				if (sum+1 >= max) {
					System.out.println("Yes");
				}else {
					System.out.println("No");
				}
			}
		}

	}

}
